---
title: "SQL-VP-030: Retrieve PMS-era payroll classification detail"
summary: Retrieves PMS-era manual classification and payroll detail lines for a policy period via inline Oracle SQL.
status: draft
owner: SAIF Claims BOF team
last_reviewed: 2026-08-21
library: SAIF.Business.View.Policy
reference_type: embedded
---

# SQL-VP-030 Retrieve PMS-era payroll classification detail

Selected in `clsPayrollClassInfoCollection.BeforeRetrieve` when a `ClassCoverageSetID` is supplied
(the PMS-era branch); the alternate WCIS-era branch is
[SQL-VP-031](SQL-031-retrieve_wcis_sql.md).

## Classification

| Field | Value |
| --- | --- |
| **SQL ID** | SQL-VP-030 |
| **Operation type** | Read |
| **Execution method** | Inline SQL (constant, reconstructed from VB `& _` continuations) |
| **Database** | Oracle |
| **Schema** | `[unqualified]**` |
| **Command type** | Text |
| **Business object** | `clsPayrollClassInfoCollection` (via `clsPayrollClassInfo.RETRIEVE_PMS_SQL`) |
| **Criteria property** | `BeforeRetrieve` (branch: `ClassCoverageSetID <> Nothing`) |
| **Lifecycle method** | `BeforeRetrieve` / `AfterRetrieve` |

## Parameters

| Parameter | Direction | Type | Max length | Description |
| --- | --- | --- | --- | --- |
| `class_coverage_set_id` | Input | Decimal/ID | N/A | Class coverage set ID identifying the PMS-era detail set. |

## Tables

| Table | Access | Columns used |
| --- | --- | --- |
| [PPNW_CLASS_COVERAGE_DETAIL](../database-tables.md#ppnw_class_coverage_detail) | SELECT / JOIN | `CLASS_COVERAGE_SET_ID`, `MANUAL_CLASS_CODE`, `PAYROLL_AMOUNT`, `RATE`, `POLICY_PERIOD_NON_WCIS_ID` |
| [MANUAL_CLASS_DESCRIPTION](../database-tables.md#manual_class_description) | JOIN | `MANUAL_CLASS_CODE`, `MANUAL_CLASS_DESCRIPTION` |
| [POLICY_PERIOD_NON_WCIS](../database-tables.md#policy_period_non_wcis) | JOIN | `POLICY_PERIOD_NON_WCIS_ID` |

## Sample SQL

```sql
SELECT
  PPNW_CLASS_COVERAGE_DETAIL.CLASS_COVERAGE_SET_ID,
  PPNW_CLASS_COVERAGE_DETAIL.MANUAL_CLASS_CODE,
  MANUAL_CLASS_DESCRIPTION.MANUAL_CLASS_DESCRIPTION,
  PPNW_CLASS_COVERAGE_DETAIL.PAYROLL_AMOUNT,
  PPNW_CLASS_COVERAGE_DETAIL.RATE,
  POLICY_PERIOD_NON_WCIS.POLICY_PERIOD_NON_WCIS_ID
FROM
  PPNW_CLASS_COVERAGE_DETAIL
  INNER JOIN MANUAL_CLASS_DESCRIPTION
    ON PPNW_CLASS_COVERAGE_DETAIL.MANUAL_CLASS_CODE = MANUAL_CLASS_DESCRIPTION.MANUAL_CLASS_CODE
  INNER JOIN POLICY_PERIOD_NON_WCIS
    ON PPNW_CLASS_COVERAGE_DETAIL.POLICY_PERIOD_NON_WCIS_ID = POLICY_PERIOD_NON_WCIS.POLICY_PERIOD_NON_WCIS_ID
WHERE
  PPNW_CLASS_COVERAGE_DETAIL.CLASS_COVERAGE_SET_ID = :class_coverage_set_id
```

*Reconstructed from multi-line VB string concatenation (`& _` continuations) in
`clsPayrollClassInfo.vb`; column/table names reflect the original constant but exact aliasing may
differ slightly from the live source — re-verify against `RETRIEVE_PMS_SQL` directly if used for
code generation.*

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `SAIF.Business.View.Policy\clsPayrollClassInfo.vb`
- `SAIF.Business.View.Policy\clsPayrollClassInfoCollection.vb`
